如果存在Guava,GuavaCacheManager
会自动配置。使用spring.cache.cache-names
属性可以在启动时创建缓存,并通过以下方式之一自定义(按此顺序):
spring.cache.guava.spec
定义的特殊缓存com.google.common.cache.CacheBuilderSpec
bean定义的com.google.common.cache.CacheBuilder
bean定义的例如,以下配置创建了一个foo
和bar
缓存,该缓存最大数量为500,存活时间为10分钟:
spring.cache.cache-names=foo,bar
spring.cache.guava.spec=maximumSize=500,expireAfterAccess=600s
此外,如果定义com.google.common.cache.CacheLoader
bean,它会自动关联到GuavaCacheManager
。由于该CacheLoader
将关联该缓存管理器管理的所有缓存,它必须定义为CacheLoader<Object, Object>
,自动配置会忽略所有泛型类型。